32 research outputs found

    Constraint CNF: SAT and CSP Language Under One Roof

    Get PDF
    A new language, called constraint CNF, is proposed. It integrates propositional logic with constraints stemming from constraint programming. A family of algorithms is designed to solve problems expressed in constraint CNF. These algorithms build on techniques from both propositional satisfiability and constraint programming. The result is a uniform language and an algorithmic framework, which allow us to gain a deeper understanding of the relation between the solving techniques used in propositional satisfiability and in constraint programming and apply them together

    Lazy Model Expansion: Interleaving Grounding with Search

    Full text link
    Finding satisfying assignments for the variables involved in a set of constraints can be cast as a (bounded) model generation problem: search for (bounded) models of a theory in some logic. The state-of-the-art approach for bounded model generation for rich knowledge representation languages, like ASP, FO(.) and Zinc, is ground-and-solve: reduce the theory to a ground or propositional one and apply a search algorithm to the resulting theory. An important bottleneck is the blowup of the size of the theory caused by the reduction phase. Lazily grounding the theory during search is a way to overcome this bottleneck. We present a theoretical framework and an implementation in the context of the FO(.) knowledge representation language. Instead of grounding all parts of a theory, justifications are derived for some parts of it. Given a partial assignment for the grounded part of the theory and valid justifications for the formulas of the non-grounded part, the justifications provide a recipe to construct a complete assignment that satisfies the non-grounded part. When a justification for a particular formula becomes invalid during search, a new one is derived; if that fails, the formula is split in a part to be grounded and a part that can be justified. The theoretical framework captures existing approaches for tackling the grounding bottleneck such as lazy clause generation and grounding-on-the-fly, and presents a generalization of the 2-watched literal scheme. We present an algorithm for lazy model expansion and integrate it in a model generator for FO(ID), a language extending first-order logic with inductive definitions. The algorithm is implemented as part of the state-of-the-art FO(ID) Knowledge-Base System IDP. Experimental results illustrate the power and generality of the approach

    FO(FD): Extending classical logic with rule-based fixpoint definitions

    Get PDF
    We introduce fixpoint definitions, a rule-based reformulation of fixpoint constructs. The logic FO(FD), an extension of classical logic with fixpoint definitions, is defined. We illustrate the relation between FO(FD) and FO(ID), which is developed as an integration of two knowledge representation paradigms. The satisfiability problem for FO(FD) is investigated by first reducing FO(FD) to difference logic and then using solvers for difference logic. These reductions are evaluated in the computation of models for FO(FD) theories representing fairness conditions and we provide potential applications of FO(FD).Comment: Presented at ICLP 2010. 16 pages, 1 figur

    Separating Knowledge from Computation: An FO(.) Knowledge Base System and its Model Expansion Inference (Kennis scheiden van berekening: een FO(.) kennisbanksysteem en zijn modelexpansie inferentie)

    No full text
    The field of Knowledge Representation is devoted to the study of how knowledge can be represented and how it can be used for automated reasoning. A recently proposed approach is the Knowledge Base System paradigm, based on the idea that knowledge is not inherently linked to a specific reasoning task. Instead, the paradigm proposes to express knowledge in a truly declarative language and to accomplish different computational tasks by applying the proper inference to the represented knowledge.In my dissertation, we developed the knowledge base system IDP, intended as a laboratory for the study of software engineering in the context of the KBS paradigm. The aim is to provide a language in which a user can naturally model his applications and to provide robust inference engines that free the user from performance considerations. IDP combines a rich declarative language (an extension of classical logic) with a range of inference engines (for deduction, model expansion, propagation, querying, etc.) and an integration with a procedural language.In the second part of the work, we studied the core inference task of (optimal) model expansion, the task of finding (optimal) models of a logical theory expanding a given structure. Specifically, we developed techniques to address the long-standing instantiation problem: Traditionally, the input theory is transformed into an equivalent propositional theory in an initial grounding phase, after which a search algorithm is applied; however, the grounding phase causes a blowup of the size of the theory, which makes the approach infeasible for many practical applications. We developed several techniques to address the instantiation problem: (i) add support for function symbols in the search algorithm, (ii) detect and exploit implicit functional dependencies and (iii) tightly interleave grounding and search, by maintaining justifications of non-ground parts of the theory. The result is a state-of-the-art model expansion and optimization inference engine, which is among the best MiniZinc and ASP systems.status: publishe

    Detection and exploitation of functional dependencies for model generation

    No full text
    Recent work in Answer Set Programming has integrated ideas from Constraint Programming. This has led to a new field called ASP Modulo CSP (CASP), in which the ASP language is enriched with constraint atoms representing constraint satisfaction problems. These constraints have a more compact grounding and are handled by a new generation of search algorithms. However, the burden is on the modeler to exploit these new constructs in his declarative problem specifications. Here, we explore how to remove this burden by automatically generating constraint atoms. We do so in the context of FO(·)-IDP, a knowledge representation language that extends first-order logic with, among others, inductive definitions, arithmetic and aggregates. We uncover functional dependencies in declarative problem specifications with a theorem prover and exploit them with a transformation that introduces functions. Experimental evaluation shows that we obtain more compact groundings and better search performance.status: publishe

    DPLL(Agg): An efficient SMT module for aggregates

    No full text
    The use of aggregates often allow for a compact and natural encoding of many real-life problems. FO(Agg) is an extension of first order logic (FO) with aggregates. In this paper, we present algorithms for a satisfiability checking module for aggregate expressions in the context of the DPLL(T) architecture, achieving bound consistency. We consider among others cardinality, sum and maximum aggregates. The module can be used in all DPLL-based SAT, SMT and ASP solvers. The algorithms have a low complexity. We report on the incorporation of the algorithms in Minisat and the IDP-system, including an experimental evaluation.status: publishe

    Constraint CNF: a SAT and CSP Language Under One Roof

    No full text
    A new language, called constraint CNF, is proposed. It integrates propositional logic with constraints stemming from constraint programming (CP). A family of algorithms is designed to solve problems expressed in constraint CNF. These algorithms build on techniques from both propositional satisfiability (SAT) and CP. The result is a uniform language and an algorithmic framework, which allow us to gain a deeper understanding of the relation between the solving techniques used in SAT and in CP and apply them together
    corecore